package com.accp.demo.mapper.finance;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.accp.demo.pojo.finance.Advance;

public interface AdvanceMapper {
	/**
	 * 分页查询未删除的所有数据
	 * @param currentPage
	 * @param pageSize
	 * @return
	 */
	List<Advance> findByPage(@Param("currentPage")int currentPage,@Param("pageSize")int pageSize);
	
	/**
	 * 根据日期生成最新单号
	 * @param date
	 * @param advanceNo
	 * @return
	 */
	String findByadvanceNo(@Param("date") String date,@Param("advanceNo")String advanceNo);
	
	/**
	 * 新增一条预收款记录
	 * @param advance
	 */
	void addAdvance(@Param("map")Map<String,Object> map);
	
	/**
	 * 修改记录
	 * @param map
	 */
	void updateAdvance(@Param("map")Map<String,Object> map);
	
	/**
	 * 逻辑删除选中的记录
	 * @param advanceNo
	 * @param logicStatus
	 */
	void deleteAdvance(@Param("map")Map<String,Object> map);
	void deleteAdvanceDetail(@Param("map")Map<String,Object> map);
	
	/**
	 * 修改审核的状态
	 * @param advanceNo
	 * @param autidStatus
	 */
	void updatePermitter(@Param("map")Map<String,Object> map);
	
	/**
	 * 查出主表中的数据条数
	 * @return
	 */
	Integer count();
	
	/**
	 * 新增详表中的数据
	 * @param advanceDetail
	 */
	void addAdvanceDetail(@Param("map")Map<String,Object> map);
	
	/**
	 * 审核/取消审核修改客户主文件中的期末预收款和剩余额度
	 * @param map
	 */
	void updateCustom(@Param("map")Map<String,Object> map);
}
